In a cellular Multiple Input Multiple Output (MIMO) communication environment, data rate can be increased by beamforming between a transmitter and a receiver. It is determined based on channel information whether to use beamforming or not. Basically, the receiver quantizes channel information estimated from a reference signal using a codebook and feeds back the quantized channel information to the transmitter.
A brief description will be made of a spatial channel matrix (also referred to simply as a channel matrix) for use in generating a codebook. The channel matrix may be expressed as
      H    ⁡          (              i        ,        k            )        =      [                                                      h                              1                ,                1                                      ⁡                          (                              i                ,                k                            )                                                                          h                              1                ,                2                                      ⁡                          (                              i                ,                k                            )                                                …                                                    h                              1                ,                Nt                                      ⁡                          (                              i                ,                k                            )                                                                                      h                              2                ,                1                                      ⁡                          (                              i                ,                k                            )                                                                          h                              2                ,                2                                      ⁡                          (                              i                ,                k                            )                                                …                                                    h                              2                ,                Nt                                      ⁡                          (                              i                ,                k                            )                                                            ⋮                          ⋮                          ⋱                          ⋮                                                                h                              Nr                ,                1                                      ⁡                          (                              i                ,                k                            )                                                                          h                              Nr                ,                2                                      ⁡                          (                              i                ,                k                            )                                                …                                                    h                              Nr                ,                Nt                                      ⁡                          (                              i                ,                k                            )                                            ]  where H(i,k) denotes the channel matrix, Nr denotes the number of Reception (Rx) antennas, Nt denotes the number of Transmission (Tx) antennas, r denotes the index of an Rx antenna, t denotes the index of a Tx antenna, i denotes the index of an Orthogonal Frequency Division Multiplexing (OFDM) or Single Carrier-Frequency Division Multiple Access (SC-FDMA) symbol, and k denotes the index of a subcarrier. Thus hr,i(i,k) is an element of the channel matrix H(i,k), representing the channel state of a kth subcarrier of an ith symbol between a tth Tx antenna and an rth Rx antenna.
A spatial channel covariance matrix R that is applicable to the present invention is expressed as R=E[Hi,kHi,kH] where H denotes the channel matrix, E[ ] denotes a mean, i denotes a symbol index, and k denotes a subcarrier index.
Singular Value Decomposition (SVD) is one of significant factorizations of a rectangular matrix, with many applications in signal processing and statistics. SVD is a generalization of the spectral theorem of matrices to arbitrary rectangular matrices. Spectral theorem says that an orthogonal square matrix can be unitarily diagonalized using a base of eigenvalues. Let the channel matrix H be an m×m matrix having real or complex entries. Then the channel matrix H may be expressed as the product of the following three matrices.Hm×m=Um×mΣm×nVm×nH where U and V are unitary matrices and Σ is an m×n diagonal matrix with non-negative singular values. For the singular values, Σ=diag(σ1 . . . σr), σi=√{square root over (λ8)}, the directions of the channels and strengths allocated to the channel directions are known from the SVD of the channels. The channel directions are represented as the left singular matrix U and the right singular matrix V. Among r independent channels created by MIMO, the direction of an ith channel is expressed as ith column vectors of the singular matrices U and V and the channel strength of the ith channel is expressed as σi2. Because the singular matrices U and V are each composed of mutually orthogonal column vectors, the ith channel can be transmitted without interference with a jth channel. The direction of a dominant channel having a large σi2 value exhibits a relatively small variance over a long time or across a wide frequency band, whereas the direction of a channel having a small σi2 value exhibits a large variance.
This factorization into the product of three matrices is called SVD. The SVD is very general in the sense that it can be applied to any matrices whereas EigenValue Decomposition (EVD) can be applied only to orthogonal square matrices. Nevertheless, the two decompositions are related.
If the channel matrix H is a positive, definite Hermitian matrix, all eigenvalues of the channel matrix H are non-negative real numbers. The singular values and singular vectors of the channel matrix H are its eigenvalues and eigenvectors.
The EVD may be expressed asHHH=(UΣVH)(UΣVH)H=UΣΣTUH HHH=(UΣVH)H(UΣVH)H=VΣTΣV where the eigenvalues may be λ1 . . . λr. Information about the singular matrix U representing channel directions is known from the SVD of HHH and information about the singular matrix V representing channel directions is known from the SVD of HHH. In general, Multi-User MIMO (MU-MIMO) adopts beamforming at a transmitter and a receiver to achieve high data rates. If reception beams and transmission beams are represented as matrices T and W respectively, channels to which beamforming is applied are expressed as THW=TU(Σ)VW. Accordingly, it is preferable to generate reception beams based on the singular matrix U and to generate transmission beams based on the singular matrix V.
A major issue in designing a codebook is accurate channel quantization to reduce feedback overhead using as small a number of bits as possible and achieve a sufficient beamforming gain. One codebook design proposed by or approved as recent communication standards of mobile communication systems, for example, 3rd Generation Partnership Project Long Term Evolution (3GPP LTE) and LTE-Advanced (LTE-A), and Institute of Electrical and Electronics Engineers (IEEE) 16 m is to transform a codebook using a long-term covariance matrix of channels, as expressed by [Equation 1].W′=norm(RW)  [Equation 1]where w denotes an existing codebook designed to reflect short-term channel information, R denotes the long-term covariance matrix of the channel matrix H, norm(A) denotes a matrix obtained by normalizing each column of a matrix A to 1, and W′ is a final codebook obtained by transforming the existing codebook W using the channel matrix H, the long-term covariance matrix R of the channel matrix H, and the norm function.
The long-term covariance matrix R of the channel matrix H may be given as
                    R        =                              E            ⁡                          [                                                H                  H                                ⁢                H                            ]                                =                                    V              ⁢                                                          ⁢              Λ              ⁢                                                          ⁢                              V                H                                      =                                          ∑                                  i                  =                  1                                Nt                            ⁢                                                σ                  i                                ⁢                                  v                  i                                ⁢                                  v                  i                  H                                                                                        [                  Equation          ⁢                                          ⁢          2                ]            
The long-term covariance matrix R of the channel matrix H is decomposed into VΛVH in SVD. V denotes an Nt×Nt unitary matrix having Vi as an ith column vector. A denotes a diagonal matrix having σi as an ith diagonal element and VH denotes a Hermitian matrix of the matrix V. σi and Vi are an ith singular value and an ith singular column vector corresponding to the ith singular value (σ1≧σ2≦ . . . ≧σNt).